package cronorder

import (
	"context"
	"log"
	"time"

	"go-papers/logic"
	"go-papers/models"
	"go-papers/pkg/lognew"
)

func CleanOrder() {
	log.Println("---start run CleanOrder----")

	createTime := time.Now().AddDate(0, 0, -1).Format("2006-01-02 15:04:05")

	// 查询 mysql 中 订单表 未支付 且 创建时间 距离当前 1天
	var order models.Order
	doc, err := order.GetListCreat(1, createTime)
	if err != nil {
		lognew.Error(context.TODO(), "Cron-CleanOrder1", lognew.Fields{"err": err.Error()})
		return
	}
	if len(doc) > 0 {
		logic.CleanOrderByList(doc)
	}

	doc, err = order.GetListCreat(5, createTime)
	if err != nil {
		lognew.Error(context.TODO(), "Cron-CleanOrder5", lognew.Fields{"err": err.Error()})
		return
	}
	if len(doc) > 0 {
		logic.CleanOrderByList(doc)
	}
}

func SureOrder() {
	log.Println("---start run SureOrder----")

	payTime := time.Now().AddDate(0, 0, -14).Format("2006-01-02 15:04:05")
	// 查询 mysql 中 订单表 已支付 且 创建时间 距离当前 14天 进行确认
	var order models.Order
	doc, err := order.GetListPay(10, payTime)
	if err != nil {
		lognew.Error(context.TODO(), "Cron-SureOrder", lognew.Fields{"err": err.Error()})
		return
	}

	if len(doc) > 0 {
		logic.SureOrderByList(doc)
	}
}
